package com.ohos.connent.modelcloud.biz.modular.pro.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.ohos.connent.modelcloud.biz.modular.pro.entity.BizProCategory;
import com.ohos.connent.modelcloud.biz.modular.pro.param.*;
import com.ohos.connent.modelcloud.biz.modular.pro.result.BizProCategoryDetailResult;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * 品类管理-service接口
 * @Author: ChenJiaHao
 * @Date: 2024/5/31 15:16
 * @Description:
 */
public interface BizProCategoryService extends IService<BizProCategory> {

    /**
     * 新增品类
     * @param BizProCategoryAddParam 新增品类参数
     */
    String add(BizProCategoryAddParam BizProCategoryAddParam);

    /**
     * 修改品类
     * @param bizProfileEditParam 修改品类参数
     */
    String edit(BizProCategoryEditParam bizProfileEditParam);

    /**
     * 品类详情
     * @param bizProCategoryIdParam 品类详情id
     * @return 品类详情
     */
    BizProCategoryDetailResult detail(BizProCategoryIdParam bizProCategoryIdParam);

    /**
     * 品类详情
     * @param bizProCategoryDictIdParam 品类字典详情id
     * @return 品类详情
     */
    BizProCategoryDetailResult detailByDictId(BizProCategoryDictIdParam bizProCategoryDictIdParam);

    /**
     * 根据id查询实体
     * @param id id
     * @return 实体
     */
    BizProCategory queryEntity(String id);

    /**
     * 获取华为云文件下载授权URL
     * @param bizProCategoryIdParam 品类对应文件id
     * @return 文件下载授权URL
     */
    String getFileDownloadAuthUrlHUAWEI(BizProCategoryFileIdParam bizProCategoryIdParam);

    /**
     * 下载品类ICON
     * @param bizProCategoryIdParam 品类对应文件id
     * @param response 响应
     */
    void iconDownload(BizProCategoryIdParam bizProCategoryIdParam, HttpServletResponse response) throws IOException;

    /**
     * 上传品类ICON
     * @param file 文件
     * @return 文件id
     */
    String geFileUploadIconId(MultipartFile file);
}
